The rendering of three-dimensional computer graphics is a computationally intensive process. In many high-end applications, three-dimensional computer graphics are rendered using a pool or cluster of computers that share the processing responsibilities. In such a system, one computer may be configured to execute at least one application program and communicate graphics data to other computers for rendering. In this regard, a collection of computers may be configured to cooperatively render a graphics image and may receive the graphics data to be rendered from the computer executing the application program.
When multiple computers (or nodes) are used to render a single scene, the video signals generated by each of those computers are combined into a single aggregate (or composite) signal and encoded in a particular format, such as digital RGB (Red Green Blue), NTSC (National Television Standards Committee), PAL (phase alteration by line), etc. There exist devices called compositors that perform the function of combining (or compositing) multiple video signals into a single, composite video signal.
In virtually any computer system, there exists a need to effectively debug and troubleshoot problems that may arise. A computer system console is one mechanism used to do this. A computer system console is a device used to interact with the system at a lower level. The console differs from terminal devices (sometimes referred to as TTYs) in that the console is functional in virtually all modes of operation, whereas systems can be configured to run without terminals in some, or all, operating modes. In addition, the console is one of the very first devices activated in the boot sequence so that the system administrator can observe and control system operations as early as possible.
The need to effectively troubleshoot and debug system operation of complex, multi-computer systems is even more important. In multi-computer graphics-rendering systems, such as that described above, when a composite graphics image is not rendered correctly, it can be more difficult to determine which of the cooperating computers (or render nodes) is not properly functioning. Consequently, the debug or troubleshooting effort can be two-fold: (1) determining which computer is not correctly performing; and (2) determining, specifically, what is the performance or functioning problem.
Console managers provide the console function among a plurality of shared or coupled computers over a common network. In this regard, a console manager is a single interface that provides a user (e.g., service person) console access to each computer on the network, via network communications. A problem, however, with existing single-computer consoles and multi-computer console managers is that console access is limited to interaction outside the graphics or windowing environments. That is, information exchanged through the console manager is limited to ASCII or text information. In a graphics environment (such as Windows), the console manager cannot be used to communicate information.